from 工程.DT126.DT126_2D功放模块.项目公用库.公共函数 import *


def 音频调制测试初始化():
    zbb工步.产品初始化()
    zbb仪器.射频矩阵1.打开接口()
    zbb仪器.信号源1.打开接口()
    zbb仪器.综测仪1.打开接口()

    zbb仪器.信号源1.设置幅度(幅度=10)
    zbb仪器.信号源1.设置调制关()
    zbb仪器.信号源1.设置射频开()
    zbb仪器.综测仪1.设置测试发射()
    zbb仪器.综测仪1.设置滤波器1('<20Hz HPF')
    zbb仪器.综测仪1.设置滤波器2('>99KHZ LP')
    zbb仪器.综测仪1.设置滤波IF_230KHZ()
    zbb仪器.综测仪1.设置音频1关()
    zbb仪器.综测仪1.设置音频2关()
    zbb仪器.综测仪1.设置调幅()
    zbb仪器.综测仪1.设置收失真()
    zbb仪器.综测仪1.设置功率单位()
    zbb参数.调制度波动结果 = '合格'
    zbb路由.调幅功率和调制度测试路由()
    print("音频调制测试初始化")
    
def 音频调制测试(频点=108,音频频率=1000,低限=80):
    频率=频点*1000000
    zbb工步.设置功率模式频点('AM',频点)
 
    zbb仪器.信号源1.设置频率比对(频率=频率,比对值=频率)
    zbb仪器.综测仪1.设置音频1幅度(0.940)
    zbb仪器.综测仪1.设置音频1关()
    延时(0.2)
    zbb产品.被测产品.发射()
    延时(1.5)
    zbb仪器.综测仪1.设置音频1频率(1000)
    zbb仪器.综测仪1.设置音频1开()
    zbb工步.延时(2)


    if 音频频率<200:
        zbb仪器.综测仪1.设置滤波器2('300HZ LPF')
    else:
        zbb仪器.综测仪1.设置滤波器2('15KHZ LPF')

    zbb工步.延时(0.5)
    zbb仪器.综测仪1.设置音频1频率(音频频率)
    zbb工步.延时(0.5)
    try:
        zbb工步.延时(4)
        调制度=zbb仪器.综测仪1.读调制度()
        zbb工步.延时(1)
        失真度=zbb仪器.综测仪1.读收失真()
    except:
        zbb仪器.综测仪1.设置音频1关()
        zbb产品.被测产品.接收()
        raise Exception("综测仪1读调制度失败！！！")
    zbb产品.被测产品.接收()
    # zbb参数.调制度波动[频点]=调制度

    项目="音频("+str(频点)+","+ str(音频频率)+")"

    if 音频频率==1000:
        判断合格保存(项目+'调制度',调制度,低限,100)
        判断合格保存(项目+'失真度',失真度,0,8)
        zbb参数.音频调制度1000Hz=调制度
    else:
        调制波动 = math.log10(调制度/zbb参数.音频调制度1000Hz)*20
        zbb参数.调制度波动.append(调制波动)
        if 调制波动<-3 or 调制波动>1:
           判断合格保存(项目+'调制度',调制度,101)
           zbb参数.调制度波动结果 = '不合格'
        else:
           判断合格保存(项目+'调制度',调制度,-1)

# def 计算调制度波动():
#      temp = sorted(zbb参数.调制度波动)
#      if math.fabs(temp[0]) > math.fabs(temp[-1]):
#         判断合格保存('音频调制度波动',temp[0],-3,1)
#      else:
#         判断合格保存('音频调制度波动',temp[-1],-3,1)


if __name__=='__main__':
    pass

    zbb路由.选择产品(1)
    音频调制测试初始化()
    音频调制测试(122,1000)
    # 延时(1)
    # 音频调制测试(108,5000)
    # # # 延时(1)
    # # 音频调制测试(108,1000)
    # a = sorted([-2,1,3,4,5,-3,-5,-2])
    # print(a,a[-1])

    
    
 
